// Koa 项目学习
// koa 中间件
// koa 错误处理的中间件
let Koa = require('koa') //引入koa
let router = require('koa-router')() //引入koa-router并且实例化

let app = new Koa() // 实例化

app.use(async (ctx, next) => {

  console.log('这是一个中间件01')
  next()

  // 如果页面找不到，就会404
  if (ctx.status == 404) {
    ctx.status = 404
    ctx.body = '404, 你的页面没有找到'
  } else {
    console.log(ctx.url)
  }
})

// 使用了next之后，匹配到news路由以后继续向下匹配路由
router.get('/', async (ctx, next) => {
  ctx.body = 'this is index page'
  console.log('welcome to index page')
})

router.get('/news', async (ctx) => {
  ctx.body = "this is news page"
  console.log('welcome to news page')
})



app.use(router.routes()) //启动路由
app.use(router.allowedMethods()) //建议配置，可以配置，也可以不配置

app.listen(3000) // 监听端口